what is the architecture of api